package com.aaa.service.impl;

import com.aaa.entity.Facility;
import com.aaa.entity.Role;
import com.aaa.mapper.RoleMapper;
import com.aaa.service.RoleService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;
import java.util.Map;

@Service("roleService")
public class RoleServiceImpl implements RoleService {

    /**
     * SQL接口
     */
    @Resource
    private RoleMapper roleMapper;

    /**
     * 分页
     * @param role 对象
     * @param pageNum   当前页
     * @param pageSize  每页的数量
     * @return 结果
     */
    @Override
    public PageInfo<Role> query(String role, Integer pageNum, Integer pageSize) {
       // System.out.println(pageNum+"   "+pageSize);
        PageHelper.startPage(pageNum,pageSize);//将当前页和每页的数量放到PageHelper
        List<Role> roles = roleMapper.query(role);//接受前台返回结果集
        PageInfo<Role> pageInfo=new PageInfo<>(roles);//用PageInfo分页处理数据
        return pageInfo; //返回结果
    }

    /**
     * 查询角色名唯一
     * @param role 角色
     * @return 结果
     */
    @Override
    public List<Map<String, Object>> find(String role) {
        return roleMapper.find(role);
    }

    /**
     * 添加角色名称
     * @param role 角色值
     * @return 添加结果
     */
    @Override
    public int add(String role) {
        return roleMapper.add(role);
    }

    /**
     * 查询所有角色
     * @param id
     * @return
     */
    @Override
    public Integer roleById(Integer id) {
        return roleMapper.roleById(id);
    }

    @Override
    public List<Role> findAll() {
        return roleMapper.findAll();
    }

    @Override
    public Integer addRole(Integer id, Integer sid) {
        roleMapper.delroleById(sid);
        if(sid==0){
            System.out.println(1);
            sid=null;
            return null;
        }
        return roleMapper.addRole(id,sid);
    }
}
